/**
 * 数组中有数值和0，需要将所有的o,放置到数组的左边，所有值放到右边，并且值的顺序不变
 * 1. 记录两组值 valIndex 和 i, valIndex 为值的索引，i 为循环的索引。
 * 2. 值排序在左边为正序，值在右边为反序，根据上面的需求，这里使用反序
 * */ 
function sort0(array) {
  let valIndex = array.length
  let i = valIndex - 1

  while (i >= 0) {
    if (array[i] !== 0) {
      let val

      valIndex--
      val = array[valIndex]
      array[valIndex] = array[i]
      array[i] = val
    }
    i--
  }

  return array
}

const arr = [23,54,7,68,5,0,45,6,0,0,0,0,0,54,6,9,8,2,657]
console.log(sort0(arr))
